﻿using Microsoft.Xna.Framework.Input;

namespace RpgXna.Model
{
    internal class InputBindings
    {
        private static readonly InputBindings _bindings = new InputBindings();

        private Keys _downKey = Keys.S;
        private Keys _inventoryToggle = Keys.I;
        private Keys _leftKey = Keys.Q;
        private Keys _menu = Keys.Tab;
        private Keys _rightKey = Keys.D;
        private Keys _run = Keys.LeftShift;
        private Keys _upKey = Keys.Z;
        private Keys _validate = Keys.Enter;

        public static InputBindings Bindings
        {
            get { return _bindings; }
        }

        public Keys Down
        {
            get { return _downKey; }
        }

        public Keys Inventory
        {
            get { return _inventoryToggle; }
        }

        public Keys Left
        {
            get { return _leftKey; }
        }

        public Keys Menu
        {
            get { return _menu; }
        }

        public Keys Right
        {
            get { return _rightKey; }
        }

        public Keys Run
        {
            get { return _run; }
        }

        public Keys Up
        {
            get { return _upKey; }
        }
        public Keys Validate
        {
            get { return _validate; }
        }

        public Keys[] MoveBindings
        {
            get { return new[] { Up, Down, Right, Left }; }

        }
    }
}